package com.babble.comment.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.Id;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;

import java.io.Serializable;
import java.util.Date;

@Data
@Document("babble_comment")
@ApiModel(value = "评论模型", description = "评论表模型")
public class Comment implements Serializable {
	private static final long serialVersionUID = 4789668495898980716L;
	@Id
	private String id;

	/**
	 * 用户id
	 */
	@Field("user_id")
	@ApiModelProperty("用户id")
	private String userId;

	/**
	 * 博客id
	 */
	@Field("blog_id")
	@ApiModelProperty("博客id")
	private String blogId;

	/**
	 * 评论内容
	 */
	@ApiModelProperty("评论内容")
	private String content;

	/**
	 * 评论来源：1：博客信息、2、问答、3：留言板、4：关于
	 */
	@ApiModelProperty("评论来源：1：博客信息、2、问答、3：留言板、4：关于")
	private Integer source;

	/**
	 * 父级评论id
	 */
	@Field("parent_id")
	@ApiModelProperty("父级评论id")
	private String parentId;

	/**
	 * 被评论者id
	 */
	@Field("to_user_id")
	@ApiModelProperty("被评论者id")
	private String toUserId;

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@Field("create_time")
	@CreatedDate
	private Date createTime;

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@Field("update_time")
	@LastModifiedDate
	private Date updateTime;
}

/*
//评论表
db.babble_comment.insertOne({
  "user_id": "123456789",//用户id
  "blog_id": "987654321",//博客id
  "content": "这是123456789",//评论内容
	"source":1,//评论来源：1：博客信息、2、问答、3：留言板、4：关于
	"parent_id":"0",//父级评论
	"to_user_id":"12345678",//被评论者id
  "create_time": new Date(),//创建日期
	"update_time":new Date()
})

*/
